<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
  <title>bdep(1) bdep 0.17.0</title>

  <style type="text/css">
/* file      : common.css
 * license   : MIT; see accompanying LICENSE file
 */

html
{
  font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
  font-weight: normal;
  font-size: 18px;
  line-height: 1.4em;
  letter-spacing: 0.01em;

  color: #292929;
}

body {margin: 0;} /* There is non-0 default margin for body. */

/* See notes on what's going on here. */
body {min-width: 17em;}
@media only screen and (min-width: 360px)
{
  body {min-width: 19em;}
}

/*
 * Header (optional).
 */

#header-bar
{
  width: 100%;

  background: rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);

  padding: .4em 0 .42em 0;
  margin: 0 0 1.4em 0;
}

#header
{
  /* Same as in #content. */
  max-width: 41em;
  margin: 0 auto 0 auto;
  padding: 0 .4em 0 .4em;

  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;

  width: 100%;
  display: table;
  border: none;
  border-collapse: collapse;
}

#header-logo, #header-menu
{
  display: table-cell;
  border: none;
  padding: 0;
  vertical-align: middle;
}

#header-logo {text-align: left;}
#header-menu {text-align: right;}

/* These overlap with #header's margin because of border collapsing. */
#header-logo {padding-left: .4em;}
#header-menu {padding-right: .4em;}

#header-logo a
{
  color: #000;
  text-decoration: none;
  outline: none;
}
#header-logo a:visited {color: #000;}
#header-logo a:hover, #header-logo a:active {color: #000;}

#header-menu a
{
  font-size: 0.889em;
  line-height: 1.4em;
  text-align: right;
  margin-left: 1.2em;
  white-space: nowrap;
  letter-spacing: 0;
}

#header-menu a
{
  color: #000;
  outline: none;
}
#header-menu a:visited {color: #000;}
#header-menu a:hover, #header-menu a:active
{
  color: #3870c0;
  text-decoration: none;
}

/* Flexbox-based improvements though the above works reasonably well. */
#header-menu-body
{
  width: 100%;

  display: -webkit-inline-flex;
  display: inline-flex;

  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;

  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

/* Whether we want it (and at which point) depends on the size of the menu. */
/*
@media only screen and (max-width: 567px)
{
  #header-menu-body
  {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
*/

/*
 * Content.
 */

#content
{
  max-width: 41em;
  margin: 0 auto 0 auto;
  padding: 0 .4em 0 .4em; /* Space between text and browser frame. */

  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/*
 * Footer (optional).
 */

#footer
{
  color: #767676;
  font-size: 0.7223em;
  line-height: 1.3em;
  margin: 2.2em 0 1em 0;
  text-align: center;
}

#footer a
{
  color: #767676;
  text-decoration: underline;
}
#footer a:visited {color: #767676;}
#footer a:hover, #footer a:active {color: #3870c0;}

/* Screen size indicator in the footer. The before/after content is in case
   we don't have any content in the footer. Margin is to actually see the
   border separate from the browser frame. */

/*
#footer:before {content: "\A0";}
#footer:after {content: "\A0";}

#footer
{
  border-left: 1px solid;
  border-right: 1px solid;
  margin-left: 1px;
  margin-right: 1px;
}

@media only screen and (max-width: 359px)
{
  #footer {border-color: red;}
}

@media only screen and (min-width: 360px) and (max-width: 567px)
{
  #footer {border-color: orange;}
}

@media only screen and (min-width: 568px) and (max-width: 1023px)
{
  #footer {border-color: blue;}
}

@media only screen and (min-width: 1024px)
{
  #footer {border-color: green;}
}
*/

/*
 * Common elements.
 */

p, li, dd {text-align: justify;}
.code {text-align: left;} /* Manually aligned. */
pre {text-align: left;}   /* If it is inside li/dd. */

/* Notes. */

.note
{
  color: #606060;
}

div.note
{
  margin: 2em 0 2em 0; /* The same top/bottom margings as pre box. */

  padding-left: 0.5em;
  border: 0.25em;
  border-left-style: solid;
  border-color: #808080;

  page-break-inside: avoid;
}

div.note :first-child {margin-top:    0;}
div.note :last-child  {margin-bottom: 0;}

span.note::before {content: "[Note: "}
span.note::after  {content: "]"}

/* Links. */
a
{
  color: #3870c0;
  /*color: #4078c0;*/
  text-decoration: none;
}

a:hover, a:active
{
/*color: #006fbf;*/
/*color: #0087e7;*/
  text-decoration: underline;
}

a:visited
{
/*color: #003388;*/
  color: #00409c;
}

/* Standard paragraph. */

p, pre {margin: 1em 0 1em 0;}

/* Standard lists. */
ul, ol, dl {margin: 1em 0 1em 0;}
ul li, ol li {margin: 0 0 .4em 0;}
ul li {list-style-type: circle;}
dl dt {margin: 0 0 0 0;}
dl dd {margin: 0 0 .6em 1.8em;}

code, pre
{
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  font-size: 0.92em;
  letter-spacing: 0;
}

pre {white-space: pre-wrap;}
@media only screen and (max-width: 567px)
{
  pre {word-break: break-all;}
}

/* Use page rather than system font settings. */
input
{
  font-family: inherit;
  font-weight: inherit;
  font-size:   inherit;
  line-height: inherit;
}

/* file      : pre-box.css
 * license   : MIT; see accompanying LICENSE file
 */

/* Note: see also p-code-box.css. */

pre
{
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 0.2em;
  padding: .8em .4em .8em .4em;
  margin: 2em -.4em 2em -.4em; /* Use margins of #content. */
}

/* file      : man.css
 * license   : MIT; see accompanying LICENSE file
 */

/* Bases:
 *
 * common.css
 * pre-box.css
 *
 */

#content
{
  max-width: 42.1em;
  padding-left: 1.5em; /* Reserve for the heading. */
}

h1
{
  font-weight: normal;
  font-size: 1.58em;
  line-height: 1.4em;
  margin: 1.6em 0 .6em -.88em;
}

/* Definition list for options. */
dl.options dt {margin: 1em 0 0 0;}
dl.options dd {margin: .1em 0 0 4.5em;}

/* Make lists inside option descriptions a tad smaller. */
dl.options dd ul, dl.options dd ol, dl.options dd dl
{
  font-size: 0.889em;
  line-height: 1.4em;
}

  </style>

</head>
<body>
<div id="content">

  <h1>NAME</h1>

  <p><b><code>bdep</code></b> &#8211; project dependency manager</p>
  <h1>SYNOPSIS</h1>

  <p class="code"><code><b>bdep --help</b>
  <br/>
  <b>bdep --version</b>
  <br/>
  <b>bdep help</b> [<i>command</i> | <i>topic</i>]
  <br/>
  <b>bdep</b> [<i>common-options</i>] <i>command</i> [<i>command-options</i>]
  <i>command-args</i></code></p>

  <h1>DESCRIPTION</h1>

  <p>The <code><b>build2</b></code> project dependency manager is used to
  manage the dependencies of a project during development.</p>

  <p>For a detailed description of any command or help topic, use the
  <code><b>help</b></code> command or see the corresponding man page (the man
  pages have the <code><b>bdep-</b></code> prefix, for example <a
  href="bdep-help.xhtml"><code><b>bdep-help(1)</b></code></a>). Note also that
  <code><i>command-options</i></code> and <code><i>command-args</i></code> can
  be specified in any order and <code><i>common-options</i></code> can be
  specified as part of <code><i>command-options</i></code>.</p>

  <p>A <code><b>bdep</b></code> project is a directory, normally under a
  version control system such as <code><b>git(1)</b></code>, called <i>project
  repository</i>. A project contains one or more <i>packages</i>. If it
  contain several, then they are normally related, for example, the
  <code><b>libhello</b></code> library and the <code><b>hello</b></code>
  program.</p>

  <p>Packages in a project may depend on other packages outside of the
  project. To distinguish between the two we call them <i>project packages</i>
  and <i>dependency packages</i>, respectively.  Naturally, our project
  packages may be someone else's dependency packages.</p>

  <p>A simple, single-package project contains the package in the root of the
  project repository. For example (note the location of the package
  <code><b>manifest</b></code> and <code><b>lockfile</b></code>):</p>

  <pre>hello/
├── .git/
├── ...
├── lockfile
└── manifest</pre>

  <p>See <a
  href="../../bpkg/doc/build2-package-manager-manual.xhtml#manifest-package">Package
  Manifest</a> for details on the <code><b>manifest</b></code> file.</p>

  <p>If a project contains multiple packages or we wish to place the package
  into a subdirectory, then the root of the project repository must contain
  the <code><b>packages.manifest</b></code> file that specifies the package
  locations. For example:</p>

  <pre>hello/
├── .git/
├── hello/
│   ├── ...
│   ├── lockfile
│   └── manifest
├── libhello/
│   ├── ...
│   ├── lockfile
│   └── manifest
└── packages.manifest</pre>

  <p>For this project, <code><b>packages.manifest</b></code> would have the
  following contents:</p>

  <pre>: 1
location: hello/
:
location: libhello/</pre>

  <p>A project repository root would usually also contain the
  <code><b>repositories.manifest</b></code> file that lists the repositories
  that provide the dependency packages. For example:</p>

  <pre>hello/
├── ...
├── manifest
└── repositories.manifest</pre>

  <p>If our <code><b>hello</b></code> project wanted to use
  <code><b>libhello</b></code> as a dependency package, then its
  <code><b>repositories.manifest</b></code> could look like this:</p>

  <pre>: 1
summary: hello project repository
:
role: prerequisite
location: https://example.com/libhello.git</pre>

  <p>See <a
  href="../../bpkg/doc/build2-package-manager-manual.xhtml#manifest-repository-list">Repository
  List Manifest</a> for details on the
  <code><b>repositories.manifest</b></code> file.</p>

  <p>For development a <code><b>bdep</b></code> project is associated with one
  or more <a href="../../bpkg/doc/bpkg.xhtml"><code><b>bpkg(1)</b></code></a>
  <i>build configurations</i>. These configuration are used as a
  <i>backing</i> for building project packages and their dependencies.</p>

  <p>The list of the associated build configuration as well as the list of
  project packages initialized in each configuration are stored in the
  <code><b>bdep</b></code> <i>project database</i> under the
  <code><b>.bdep/</b></code> subdirectory of the project root directory. For
  example:</p>

  <pre>hello-gcc/     # Build configuration for gcc.
hello-clang/   # Build configuration for clang.
hello/
├── .bdep/
├── .git/
└── ...</pre>

  <p>The core of <code><b>bdep</b></code> functionality is <i>state
  synchronization</i> between the project and one or more associated build
  configurations. For example, if we list a new dependency in the package's
  <code><b>manifest</b></code> file, then <code><b>bdep</b></code> fetches and
  configures this dependency in a build configuration. Similarly, if we
  upgrade or downgrade a dependency in a build configuration, then
  <code><b>bdep</b></code> updates the corresponding entry in the package's
  <code><b>lockfile</b></code>.</p>

  <p>A typical <code><b>bdep</b></code> workflow would consist of the
  following steps.</p>

  <dl>
  <dt style="margin-bottom:1em"><b>Obtain the Project</b></dt>
  <dd>Normally we would use the version control system to obtain the project
  we want to develop:

  <pre>$ git clone ssh://example.com/hello.git</pre>

  <p>Alternatively, we can use the <a
  href="bdep-new.xhtml"><code><b>bdep-new(1)</b></code></a> command to start a
  new project (see <a
  href="../../bpkg/doc/build2-package-manager-manual.xhtml#package-name">Package
  Name</a> for details on project naming):</p>

  <pre>$ bdep new -l c++ -t exe hello</pre>

  <p>Similar to version control tools, we normally run
  <code><b>bdep</b></code> from the project's directory or one of its
  subdirectories:</p>

  <pre>$ cd hello</pre>

  <p>See <a
  href="bdep-projects-configs.xhtml"><code><b>bdep-projects-configs(1)</b></code></a>
  for alternative ways to specify the project location.</p></dd>

  <dt style="margin-bottom:1em"><b>Initialize the Project</b></dt>
  <dd>Next we use the <a
  href="bdep-init.xhtml"><code><b>bdep-init(1)</b></code></a> command to
  create new or add existing build configurations and initialize our project
  in these configurations:

  <pre>$ bdep init -C ../hello-gcc @gcc cc config.cxx=g++
$ bdep init -A ../hello-clang @clang</pre>

  <p>If the configuration directory is next to the project and its name is in
  the <code><i>prj-name</i><b>-</b><i>cfg-name</i></code> form, then the
  shortcut version of the <code>init</code> can be used instead:</p>

  <pre>$ bdep init -C @gcc cc config.cxx=g++
$ bdep init -A @clang</pre>

  <p>After initialization we can use the <a
  href="bdep-status.xhtml"><code><b>bdep-status(1)</b></code></a> command to
  examine the status of our project in its configurations:</p>

  <pre>$ bdep status -a
in configuration @gcc:
hello configured 0.1.0-a.0.19700101000000

in configuration @clang:
hello configured 0.1.0-a.0.19700101000000</pre>

  <p>Most <code><b>bdep</b></code> commands operate on one or more build
  configurations associated with the project. If we don't specify one
  explicitly, then the <i>default configuration</i> (usually the first added;
  <code><b>gcc</b></code> in our case) is used. Alternatively, we can specify
  the configurations by name (if assigned), as directories, or with
  <code><b>--all</b>|<b>-a</b></code> (see <a
  href="bdep-projects-configs.xhtml"><code><b>bdep-projects-configs(1)</b></code></a>
  for details). For example:</p>

  <pre>$ bdep status @clang @gcc      # by name
$ bdep status -c ../hello-gcc  # as a directory</pre>

  <p>If a command is operating on multiple configurations (like
  <code><b>status -a</b></code> in the previous example), then it will print a
  line identifying each configuration before printing the command's
  result.</p>

  <p>By default the project's source directory is configured to forward to the
  default build configuration. That is, we can run the build system in the
  source directory and it will automatically build in the forwarded
  configuration as well as link the results back to the source directory using
  symlinks or another suitable mechanism (see <a
  href="bdep-config.xhtml"><code><b>bdep-config(1)</b></code></a> for
  details). For example:</p>

  <pre>$ b        # build in gcc
&lt;...>

$ ./hello  # run the result</pre>

  <p>Using the build system directly on configurations other than the default
  requires explicitly specifying their paths. To make this more convenient,
  the <a href="bdep-update.xhtml"><code><b>bdep-update(1)</b></code></a>, <a
  href="bdep-test.xhtml"><code><b>bdep-test(1)</b></code></a>, and <a
  href="bdep-clean.xhtml"><code><b>bdep-clean(1)</b></code></a> commands allow
  us to refer to them by names, perform the desired build system operation on
  several of them at once, and, in case of <code><b>test</b></code>, perform
  it on immediate or all dependencies or a project. For example:</p>

  <pre>$ bdep test @gcc @clang
in configuration @gcc:
&lt;...>

in configuration @clang:
&lt;...></pre>

  <p>To deinitialize a project in one or more build configurations we can use
  the <a href="bdep-deinit.xhtml"><code><b>bdep-deinit(1)</b></code></a>
  command. For example:</p>

  <pre>$ bdep deinit -a</pre></dd>

  <dt style="margin-bottom:1em"><b>Add, Remove, or Change
  Dependencies</b></dt>
  <dd>Let's say we found <code><b>libhello</b></code> that we would like to
  use in our project. First we edit our project's
  <code><b>repositories.manifest</b></code> file and add the
  <code><b>libhello</b></code>'s repository as our prerequisite:

  <pre>$ cat repositories.manifest
...
role: prerequisite
location: https://example.com/libhello.git
...</pre>

  <p>Next we edit our <code><b>manifest</b></code> file and specify a
  dependency on <code><b>libhello</b></code>:</p>

  <pre>$ cat manifest
...
depends: libhello ^1.0.0
...</pre>

  <p>If we now run <a
  href="bdep-status.xhtml"><code><b>bdep-status(1)</b></code></a>, we will
  notice that a new <i>iteration</i> of our project is available for
  synchronization:</p>

  <pre>$ bdep status
hello configured 0.1.0-a.0.19700101000000
      available  0.1.0-a.0.19700101000000#1</pre>

  <p>See <a
  href="../../bpkg/doc/build2-package-manager-manual.xhtml#package-version">Package
  Version</a> for details on package versions and iterations.</p></dd>

  <dt style="margin-bottom:1em"><b>Synchronize the Project with
  Configurations</b></dt>
  <dd>To synchronize changes in the project's dependency information with its
  build configurations we use the <a
  href="bdep-sync.xhtml"><code><b>bdep-sync(1)</b></code></a> command.
  Continuing with our example, this will result in
  <code><b>libhello</b></code> being downloaded and configured since our
  project now depends on it:

  <pre>$ bdep sync
synchronizing:
  build libhello/1.0.0 (required by hello)
  upgrade hello/0.1.0-a.0.19700101000000#1

$ bdep status -i
hello configured 0.1.0-a.0.19700101000000#1
  libhello ^1.0.0 configured 1.0.0</pre>

  <p>Note that by default build configurations are automatically synchronized
  on every build system invocation (see <a
  href="bdep-config.xhtml"><code><b>bdep-config(1)</b></code></a> for
  details). As a result, we rarely need to run the <code><b>sync</b></code>
  command explicitly and instead can just run the desired build system
  operation (for instance, <code><b>update</b></code> or
  <code><b>test</b></code>) directly. For example:</p>

  <pre>$ b test
synchronizing:
  build libhello/1.0.0 (required by hello)
  upgrade hello/0.1.0-a.0.19700101000000#1
&lt;...></pre>

  <p>It is also possible for several projects to share a build configuration.
  In this case all the projects are synchronized at once regardless of the
  originating project. For example, if we were also the authors of
  <code><b>libhello</b></code> and hosted it in a separate version control
  repository (as opposed to being a package in the <code><b>hello</b></code>
  repository), then it would have been natural to develop it together with
  <code><b>hello</b></code> in the same configurations:</p>

  <pre>$ cd ../libhello
$ bdep init -A ../hello-gcc @gcc
$ bdep sync  # synchronizes both hello and libhello</pre></dd>

  <dt style="margin-bottom:1em"><b>Upgrade or Downgrade Dependencies</b></dt>
  <dd>The <a href="bdep-sync.xhtml"><code><b>bdep-sync(1)</b></code></a>
  command is also used to upgrade or downgrade dependencies (and it is also
  executed as the last step of <code><b>init</b></code>). Let's say we learned
  a new version of <code><b>libhello</b></code> was released and we would like
  to try it out.

  <p>To refresh the list of available dependency packages we use the <a
  href="bdep-fetch.xhtml"><code><b>bdep-fetch(1)</b></code></a> command (or,
  as a shortcut, the <code><b>-f</b></code> flag to
  <code><b>status</b></code>):</p>

  <pre>$ bdep fetch

$ bdep status libhello
libhello configured 1.0.0 available [1.1.0]</pre>

  <p>Without an explicit version or the <code><b>--patch</b>|<b>-p</b></code>
  option, <code><b>sync</b></code> will upgrade the specified dependency to
  the latest available version:</p>

  <pre>$ bdep sync libhello
synchronizing:
  upgrade libhello/1.1.0
  reconfigure hello/0.1.0

$ bdep status -i
hello configured 0.1.0-a.0.19700101000000#1
  libhello ^1.0.0 configured 1.1.0</pre>

  <p>Let's say we didn't like the new version and would like to go back to
  using the old one. To downgrade a dependency we have to specify its version
  explicitly:</p>

  <pre>$ bdep status -o libhello
libhello configured 1.1.0 available [1.0.0] (1.1.0)

$ bdep sync libhello/1.0.0
synchronizing:
  downgrade libhello/1.1.0
  reconfigure hello/0.1.0</pre></dd>
  </dl>

  <h1 id="commands">COMMANDS</h1>

  <dl class="options">
    <dt><code><b>help</b></code> [<code><i>topic</i></code>]</dt>
    <dd><a href="bdep-help.xhtml"><code><b>bdep-help(1)</b></code></a> &#8211;
    show help for a command or help topic</dd>

    <dt><code><b>new</b></code></dt>
    <dd><a href="bdep-new.xhtml"><code><b>bdep-new(1)</b></code></a> &#8211;
    create and initialize new project</dd>

    <dt><code><b>init</b></code></dt>
    <dd><a href="bdep-init.xhtml"><code><b>bdep-init(1)</b></code></a> &#8211;
    initialize project in build configurations</dd>

    <dt><code><b>sync</b></code></dt>
    <dd><a href="bdep-sync.xhtml"><code><b>bdep-sync(1)</b></code></a> &#8211;
    synchronize project and build configurations</dd>

    <dt><code><b>fetch</b></code></dt>
    <dd><a href="bdep-fetch.xhtml"><code><b>bdep-fetch(1)</b></code></a>
    &#8211; fetch list of available project dependencies</dd>

    <dt><code><b>status</b></code></dt>
    <dd><a href="bdep-status.xhtml"><code><b>bdep-status(1)</b></code></a>
    &#8211; print status of project and/or its dependencies</dd>

    <dt><code><b>ci</b></code></dt>
    <dd><a href="bdep-ci.xhtml"><code><b>bdep-ci(1)</b></code></a> &#8211;
    submit project test request to CI server</dd>

    <dt><code><b>release</b></code></dt>
    <dd><a href="bdep-release.xhtml"><code><b>bdep-release(1)</b></code></a>
    &#8211; manage project's version during release</dd>

    <dt><code><b>publish</b></code></dt>
    <dd><a href="bdep-publish.xhtml"><code><b>bdep-publish(1)</b></code></a>
    &#8211; publish project to archive repository</dd>

    <dt><code><b>deinit</b></code></dt>
    <dd><a href="bdep-deinit.xhtml"><code><b>bdep-deinit(1)</b></code></a>
    &#8211; deinitialize project in build configurations</dd>

    <dt><code><b>config</b></code></dt>
    <dd><a href="bdep-config.xhtml"><code><b>bdep-config(1)</b></code></a>
    &#8211; manage project's build configurations</dd>

    <dt><code><b>test</b></code></dt>
    <dd><a href="bdep-test.xhtml"><code><b>bdep-test(1)</b></code></a> &#8211;
    test project in build configurations</dd>

    <dt><code><b>update</b></code></dt>
    <dd><a href="bdep-update.xhtml"><code><b>bdep-update(1)</b></code></a>
    &#8211; update project in build configurations</dd>

    <dt><code><b>clean</b></code></dt>
    <dd><a href="bdep-clean.xhtml"><code><b>bdep-clean(1)</b></code></a>
    &#8211; clean project in build configurations</dd>
  </dl>

  <h1>HELP TOPICS</h1>

  <dl class="options">
    <dt><code><b>common-options</b></code></dt>
    <dd><a
    href="bdep-common-options.xhtml"><code><b>bdep-common-options(1)</b></code></a>
    &#8211; details on common options</dd>

    <dt><code><b>projects-configs</b></code></dt>
    <dd><a
    href="bdep-projects-configs.xhtml"><code><b>bdep-projects-configs(1)</b></code></a>
    &#8211; specifying projects and configurations</dd>

    <dt><code><b>default-options-files</b></code></dt>
    <dd><a
    href="bdep-default-options-files.xhtml"><code><b>bdep-default-options-files(1)</b></code></a>
    &#8211; specifying default options</dd>

    <dt><code><b>argument-grouping</b></code></dt>
    <dd><a
    href="bdep-argument-grouping.xhtml"><code><b>bdep-argument-grouping(1)</b></code></a>
    &#8211; argument grouping facility</dd>
  </dl>

  <h1>COMMON OPTIONS</h1>

  <p>The common options are summarized below with a more detailed description
  available in <a
  href="bdep-common-options.xhtml"><code><b>bdep-common-options(1)</b></code></a>.</p>

  <dl class="options">
    <dt><code><b>-v</b></code></dt>
    <dd>Print essential underlying commands being executed.</dd>

    <dt><code><b>-V</b></code></dt>
    <dd>Print all underlying commands being executed.</dd>

    <dt><code><b>--quiet</b></code>|<code><b>-q</b></code></dt>
    <dd>Run quietly, only printing error messages.</dd>

    <dt><code><b>--verbose</b></code> <code><i>level</i></code></dt>
    <dd>Set the diagnostics verbosity to <code><i>level</i></code> between 0
    and 6.</dd>

    <dt><code><b>--stdout-format</b></code> <code><i>format</i></code></dt>
    <dd>Representation format to use for printing to
    <code><b>stdout</b></code>.</dd>

    <dt><code><b>--jobs</b></code>|<code><b>-j</b></code> <code><i>num</i></code></dt>
    <dd>Number of jobs to perform in parallel.</dd>

    <dt><code><b>--progress</b></code></dt>
    <dd>Display progress indicators for long-lasting operations, such as
    network transfers, building, etc.</dd>

    <dt><code><b>--no-progress</b></code></dt>
    <dd>Suppress progress indicators for long-lasting operations, such as
    network transfers, building, etc.</dd>

    <dt><code><b>--diag-color</b></code></dt>
    <dd>Use color in diagnostics.</dd>

    <dt><code><b>--no-diag-color</b></code></dt>
    <dd>Don't use color in diagnostics.</dd>

    <dt><code><b>--bpkg</b></code> <code><i>path</i></code></dt>
    <dd>The package manager program to be used for build configuration
    management.</dd>

    <dt><code><b>--bpkg-option</b></code> <code><i>opt</i></code></dt>
    <dd>Additional option to be passed to the package manager program.</dd>

    <dt><code><b>--build</b></code> <code><i>path</i></code></dt>
    <dd>The build program to be used to build packages.</dd>

    <dt><code><b>--build-option</b></code> <code><i>opt</i></code></dt>
    <dd>Additional option to be passed to the build program.</dd>

    <dt><code><b>--curl</b></code> <code><i>path</i></code></dt>
    <dd>The curl program to be used for network operations.</dd>

    <dt><code><b>--curl-option</b></code> <code><i>opt</i></code></dt>
    <dd>Additional option to be passed to the curl program.</dd>

    <dt><code><b>--pager</b></code> <code><i>path</i></code></dt>
    <dd>The pager program to be used to show long text.</dd>

    <dt><code><b>--pager-option</b></code> <code><i>opt</i></code></dt>
    <dd>Additional option to be passed to the pager program.</dd>

    <dt><code><b>--options-file</b></code> <code><i>file</i></code></dt>
    <dd>Read additional options from <code><i>file</i></code>.</dd>

    <dt><code><b>--default-options</b></code> <code><i>dir</i></code></dt>
    <dd>The directory to load additional default options files from.</dd>

    <dt><code><b>--no-default-options</b></code></dt>
    <dd>Don't load default options files.</dd>
  </dl>

  <h1>EXIT STATUS</h1>

  <p>Non-zero exit status is returned in case of an error.</p>

  <h1>ENVIRONMENT</h1>

  <p>The <code><b>BDEP_DEF_OPT</b></code> environment variable is used to
  suppress loading of default options files in nested <code><b>bdep</b></code>
  invocations. Its values are <code><b>false</b></code> or
  <code><b>0</b></code> to suppress and <code><b>true</b></code> or
  <code><b>1</b></code> to load.</p>

  <h1>BUGS</h1>

  <p>Send bug reports to the
  <a href="mailto:users@build2.org">users@build2.org</a> mailing list.</p>

</div>

<div id="footer">
Copyright &#169; 2014-2024 the build2 authors.<br/>
Permission is granted to copy, distribute and/or modify this document under
the terms of the MIT License.
</div>

</body>
</html>
